﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Conexion;
using AccesoDatos;
using AccesoDatos.Manejador;
using System.Diagnostics;
using Infragistics.Win.UltraWinGrid;




namespace RMA.Pantallas
{
    public partial class frmPrmReporteTotales : Form
    {
        public string strFechaInicio, strFechaFin;
        public frmPrmReporteTotales()
        {
            InitializeComponent();
        }

        private void chkTodos_CheckedChanged(object sender, EventArgs e)
        {
            if (chkTodos.Checked)
            {
                dtpFechaInicio.Enabled = false;
                dtpFechaFin.Enabled = false;
            }
            else
            {
                dtpFechaInicio.Enabled = true;
                dtpFechaFin.Enabled = true;
            }

        }

        private void btnGenerar_Click(object sender, EventArgs e)
        {
            clsConexion objConn = new clsConexion();
            Manejador_Reportes objreportes = new Manejador_Reportes();
            DataTable dtreportes = new DataTable();
            

            try
            {
                string strAlmacen = "";
                if (!chkAlmacen.Checked)
                {
                    strAlmacen = cbAlmacenes.SelectedValue.ToString();   
                }
                if (chkTodos.Checked)
                {
                    strFechaInicio = "19000101";
                    strFechaFin = "19000101";
                }
                else
                {
                    ConvierteFechas();
                }
                
                dtreportes = objreportes.RegresaDatosReportesTotalesSucursal(strFechaInicio, strFechaFin, strAlmacen);
                ugTotalesSucursal.DataSource = dtreportes;
                AplicarFormato();
                btnExportar.Enabled = true;

            }
            catch (Exception ex)
            { 
            
            }
        }
        public void AplicarFormato()
        {
            UltraGridColumn ColFormato = this.ugTotalesSucursal.DisplayLayout.Bands[0].Columns["Total_Costo"];
            UltraGridColumn ColFormato2 = this.ugTotalesSucursal.DisplayLayout.Bands[0].Columns["Total_Registros"];
            ColFormato.Format = "C";
            ColFormato2.Format = "N0";
        }
        public DataTable RegresaListadoAlmacenes()
        {
            Manejador_Almacenes objAlm = new Manejador_Almacenes();
            DataTable dtAlmacenes = new DataTable();
            dtAlmacenes = null;

            try
            {
                dtAlmacenes = objAlm.RegresaAlmacenes();
                cbAlmacenes.DataSource = dtAlmacenes;
                cbAlmacenes.ValueMember = "SucId";
                cbAlmacenes.DisplayMember = "Nombre";
                    
            }
            catch (Exception ex)
            { 
            
            }

            return dtAlmacenes;
        }
        public void ConvierteFechas()
        {
            //string FechaI, FechaF;
            string AnioI, MesI, DiaI, AnioF, MesF, DiaF;

            AnioI = dtpFechaInicio.Value.Year.ToString();
            MesI = dtpFechaInicio.Value.Month.ToString();
            DiaI = dtpFechaInicio.Value.Day.ToString();

            AnioF = dtpFechaFin.Value.Year.ToString();
            MesF = dtpFechaFin.Value.Month.ToString();
            DiaF = dtpFechaFin.Value.Day.ToString();

            if (MesI.Length == 1)
            {
                MesI = "0" + MesI;
            }
            if (MesF.Length == 1)
            {
                MesF = "0" + MesF;
            }

            if (DiaI.Length == 1)
            {
                DiaI = "0" + DiaI;
            }
            if (DiaF.Length == 1)
            {
                DiaF = "0" + DiaF;
            }

            strFechaInicio = AnioI + MesI + DiaI;
            strFechaFin = AnioF + MesF + DiaF;
            
        }

        private void frmPrmReporteTotales_Load(object sender, EventArgs e)
        {
            RegresaListadoAlmacenes();
        }

        private void chkAlmacen_CheckedChanged(object sender, EventArgs e)
        {
            if (chkAlmacen.Checked)
            {
                cbAlmacenes.Enabled = false;
            }
            else
            {
                cbAlmacenes.Enabled = true;
            }
        }

        public void ExportarExcel()
        {
            string dr = dialogdireccion() + "//ReporteTotalesSucursal" + (DateTime.Now.Date.ToShortDateString()).Replace("/", "") + ".xls";
            try
            {
                ugExcel.Export(ugTotalesSucursal, dr);
                Process.Start(dr);
                
            }
            catch (Exception) { }
        }
        public string dialogdireccion()
        {
            FolderBrowserDialog folder = new FolderBrowserDialog();
            string direccion = "";
            if (folder.ShowDialog() == DialogResult.Cancel)
                return direccion;
            direccion = folder.SelectedPath.ToString();
            return direccion;
        }

        private void btnExportar_Click(object sender, EventArgs e)
        {
            ExportarExcel();
        }
    }
}
